这是Amelia飞控的系列笔记的第一篇。
这个系列文章针对电子设计和编程有一定基础知识,同时希望能够制作自己的四旋翼飞控的朋友。
如果你是一个小白,或者在阅读过程中遇到不了解的概念,请充分利用互联网和书本资源。Amelia的代码以及设计资料请见文末。
本文主要内容:
关于Amelia
Amelia是出于业余爱好开发的一个开源的小型四旋翼飞行控制器。Amelia这个名字是为了向传奇女飞行员Amelia Earhart致敬,Amelia Earhart是历史上第一位飞跃大西洋的女性飞行员。
开发环境
- 编程语言:C语言
- IDE:Keil uVision 5
- PCB绘图:Altium Designer 2017
硬件组成
Amelia采用了电子积木设计,目前分为三个模块:
- 传感器 I/O拓展模块
- 主控模块
- 电调模块。
传感器拓展模块
传感器拓展模块包含:
- MPU6050 加速度 / 角速度传感器
- HC-05蓝牙透传模块
- I/O拓展:3.3V / 5V电源 一个IIC接口 两个USART串口 六个GPIO(部分可用于AD / DA)
- 气压计(可选)
- 电子罗盘(可选)
- GPS / 差分GPS(可选)
主控模块
主控模块包含:
- 主控芯片:STM32F407VGT6
- 下载 / 调试 协处理器:STM32F103C8T6
- USB 下载 / 调试 接口
- 接收机接口
- 系统复位按键
电调模块
电调模块目前包含:
- 四个20A无刷电调
- 独立的动力电源和数字电源
- 电机接口
装机效果
飞控开发主要工作
- 硬件选型
- 硬件设计
- 算法设计
- 飞控程序编写
- 参数调整
- 试飞
以上工作将在以后的文章中详细介绍。
所需知识
如果你希望没有障碍地阅读这个系列文章并在阅读之后有所收获的话,强烈建议提前掌握以下知识。如果没有接触过,请利用网络和书本资源学习。至少做到基本了解。
硬件
- 电路板设计与加工(已有现成PCB文件,可直接送至工厂加工)
- 电子元件焊接
- 示波器、万用表等工具使用
软件
- C语言
- Keil集成开发环境
- STM32F4单片机编程
数学和物理
- 基本的牛顿力学
- 微积分(理解微分 积分)
- 卷积运算(最好学习过信号与系统、数字信号处理等)
- 傅里叶变换、拉普拉斯变换(时域 频域 复频域)
最后
写这个系列文章的目的是为了方便大家了解Amelia,同时为想自己制作飞控的朋友提供参考。
Amelia的代码已经上传GitHub,Clone整个Project到本地,用Keil uVision 5打开USER文件夹下的Amelia.uvprojx文件即可开始编辑和编译。其他设计资料请访问百度网盘 密码: wt38。希望大家能够顺利地制作出自己的四旋翼飞行器,欢迎大家提出宝贵的意见和建议或对Amelia的代码和硬件设计进行改进。
声明:Amelia飞控的代码、PCB文件以及本文基于CC知识共享协议 知识共享署名-相同方式共享 4.0 国际许可协议 发布。
本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。